// 拿到全局的App
const app = getApp()
// components/my_input/my_input.js
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    obj: Object
  },

  /**
   * 组件的初始数据
   */
  data: {
    showTitle: null, //显示在input框右边的提示文字
    time: 10, //倒计时的时长
    isCountDown: false, //是否正在进行倒计时，默认值为false
    interval: null //定时器
  },

  attached() {
    if (this.properties.obj.title) {
      // this.data.showTitle = this.properties.obj.title
      this.setData({
        showTitle: this.properties.obj.title
      })
    }
  },

  /**
   * 组件的方法列表
   */
  methods: {
    getInputValue(e) {
      if (this.data.obj.type === 'mobile') {
        // 给全局的mobile赋值
        app.globalData.mobile = e.detail.value
      } else if (this.data.obj.type === 'vcode') {
        // 给全局的vcode赋值
        app.globalData.vcode = e.detail.value
      }
    },
    // 验证码的title被点击了
    titleTap() {
      //1、验证手机号是否合法，如果不合法，则return并且提示
      const result = this.validateMobile()
      if (!result) {
        wx.showToast({
          title: '手机号不合法',
          icon: 'none',
          duration: 1000
        })

        return
      }

      //2、倒计时
      if (this.data.isCountDown) return
      console.log("倒计时...")
      this.setData({
        showTitle: `（${this.data.time}）`, //显示的内容
        isCountDown: true //正在倒计时
      })

      // 使用定时器完成剩下的倒计时
      this.data.interval = setInterval(() => {
        // 时间减减
        this.data.time--

        // 倒计时结束了
        if (this.data.time <= 0) {
          clearInterval(this.data.interval)

          this.setData({
            showTitle: '获取验证码',
            time: 10,
            isCountDown: false
          })
          return
        }

        // 设计倒计时的文字
        this.setData({
          showTitle: `（${this.data.time}）`
        })
      }, 1000)
    },
    validateMobile() {
      const mobile = app.globalData.mobile

      var reg = /^1[3456789][0-9]{9}$/
      if (reg.test(mobile)) {
        return true
      } else {
        return false
      }
    }
  }
})